package com.ruoyi.ae.api.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ruoyi.common.core.web.oldDomain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;

/**
 * 商户子订单对象 ae_store_child_order
 *
 * @author erp
 * @date 2023-03-13
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("ae_store_child_order")
public class AeStoreChildOrder extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @TableId(value = "id")
    private Long id;
    /**
     * 订单ID
     */
    private Long orderId;
    /**
     * 子订单ID
     */
    private String childOrderId;
    /**
     * 产品单位
     */
    private String productUnit;
    /**
     * 发货类型
     */
    private String sendGoodsOperator;
    /**
     * SKU信息
     */
    private String skuCode;
    /**
     * 快照ID
     */
    private String snapshotId;
    /**
     * 产品快照的图片路径
     */
    private String snapshotSmallPhotoPath;
    /**
     * 商品主图Url
     */
    private String productImgUrl;
    /**
     * 快照Url
     */
    private String productSnapUrl;
    /**
     * 备货时间
     */
    private Long goodsPrepareTime;
    /**
     * 物流服务
     */
    private String logisticsServiceName;
    /**
     * 买家备注(子订单级别)
     */
    private String buyerMemo;
    /**
     * cainiaoInternationalWarehouse表示是菜鸟认证海外仓发货的，这类订单（子订单）将由菜鸟系统下发海外仓系统，进行订单履行，商家ERP需进行过滤此类型的订单（子订单）。其他情况为空
     */
    private String logisticsWarehouseType;
    /**
     * 子订单中的各种标
     */
    private String tags;
    /**
     * U_TAXED海外仓已税，跨境已税是I_TAXED
     */
    private String alreadyTaxed;
    /**
     * 存储子订单的拓展参数，是一个map 序列化成Json的
     */
    private String extendMap;
    /**
     * 联盟佣金比例
     */
    private String afflicateFeeRate;
    /**
     * 纠纷类型
     */
    private String issueModel;
    /**
     * 纠纷状态;处理中 processing、 纠纷取消canceled_issue、纠纷完结,退款处理完成finish
     */
    private String issueStatus;
    /**
     * 纠纷创建时间
     */
    private String issueTime;
    /**
     * 交易佣金比例
     */
    private String escrowFeeRate;
    /**
     * 冻结状态
     */
    private String frozenStatus;
    /**
     * 资金状态
     */
    private String fundStatus;
    /**
     * 金额（mount=cent/cant_factor）
     */
    private String initOrderAmount;
    /**
     * 最小货币单位（例如人民币：分）
     */
    private BigDecimal initOrderCent;
    /**
     * 到最小货币单元的乘积因子（例如人民币：100）
     */
    private Long initOrderCentFactor;
    /**
     * 货币描述ID，对应AE_CURRENCY_DESCRIPTION
     */
    private Long initOrderCurrencyDescriptionId;
    /**
     * 币种
     */
    private String initOrderCurrencyCode;
    /**
     * 金额（mount=cent/cant_factor）
     */
    private String loanAmount;
    /**
     * 最小货币单位（例如人民币：分）
     */
    private BigDecimal loanCent;
    /**
     * 到最小货币单元的乘积因子（例如人民币：100）
     */
    private Long loanCentFactor;
    /**
     * 货币描述ID，对应AE_CURRENCY_DESCRIPTION
     */
    private Long loanCurrencyDescriptionId;
    /**
     * 币种
     */
    private String loanCurrencyCode;
    /**
     * 放款时间 (此时间为美国太平洋时间）
     */
    private String loanTime;
    /**
     * 放款金额（mount=cent/cant_factor）
     */
    private String logisticsAmount;
    /**
     * 最小货币单位（例如人民币：分）
     */
    private BigDecimal logisticsCent;
    /**
     * 到最小货币单元的乘积因子（例如人民币：100）
     */
    private Long logisticsCentFactor;
    /**
     * 货币描述ID，对应AE_CURRENCY_DESCRIPTION
     */
    private Long logisticsDescriptionId;
    /**
     * 币种
     */
    private String logisticsCurrencyCode;
    /**
     * 物流类型，买家选择的物流方式
     */
    private String logisticsType;
    /**
     * 每个piece或lot对应多少个产品
     */
    private Long lotNum;
    /**
     * 子订单序号，用于子订单发货，即sub_trade_order_index
     */
    private String orderSortId;
    /**
     * 订单状态
     */
    private String orderStatus;
    /**
     * 商品扩展属性，skuid等
     */
    private String productAttributes;
    /**
     * 商品数量
     */
    private Long productCount;
    /**
     * 商品ID
     */
    private Long productId;
    /**
     * 商品名称
     */
    private String productName;
    /**
     * 商品单价金额（mount=cent/cant_factor）
     */
    private String productPrice;
    /**
     * 最小货币单位（例如人民币：分）
     */
    private BigDecimal productCent;
    /**
     * 到最小货币单元的乘积因子（例如人民币：100）
     */
    private Long productCentFactor;
    /**
     * 货币描述ID，对应AE_CURRENCY_DESCRIPTION
     */
    private Long productDescriptionId;
    /**
     * 币种
     */
    private String productCurrencyCode;
    /**
     * 乐观锁
     */
    private String revision;


    @TableField(exist = false)
    private AeStoreChildOrderRefundInfo refundInfo;

    @TableField(exist = false)
    private AeChildOrderLoanInfo loanInfo;

    @TableField(exist = false)
    private AeChildOrderInitOrderAmt initOrderAmt;

    @TableField(exist = false)
    private AeChildOrderIssueInfo childIssueInfo;


}
